home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / apidev / alogin.exe / ALOGIN.TXT next >
Text File  |  1993-09-17  |  6KB  |  160 lines

  1.  
  2.               NOVELL TECHNICAL INFORMATION DOCUMENT
  3.  
  4. TITLE:              OBJs for System Call Encrypted Logins
  5. DOCUMENT ID:        TID000029
  6. DOCUMENT REVISION:  A
  7. DATE:               01JUL93
  8. ALERT STATUS:       Yellow
  9. INFORMATION TYPE:   Symptom Solution
  10. README FOR:         ALOGIN.EXE
  11.  
  12. NOVELL PRODUCT and VERSION:
  13. NetWare System Calls 1.0
  14.  
  15. ABSTRACT:
  16. This file includes functions that allow you to perform a keyed login to a
  17. NetWare 386 file server, as well as change or verify a bindery object's
  18. password.
  19. _________________________________________________________________
  20.  
  21. DISCLAIMER
  22. THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. 
  23. NOVELL MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION. 
  24. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION
  25. ONLY.  NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS
  26. INFORMATION.
  27. _________________________________________________________________
  28.  
  29. Self-Extracting File Name:  ALOGIN.EXE
  30.  
  31. Files Included     Size     Date        Time
  32.  
  33.   ALOGIN.TXT          (This File)
  34.   SLOGIN.OBJ       3160    2-03-92      1:13a
  35.   README.DOC       1923    3-25-92      3:02p
  36.   MLOGIN.OBJ       3161    2-03-92      1:13a
  37.   CLOGIN.OBJ       3630    2-03-92      1:13a
  38.   LLOGIN.OBJ       3631    2-03-92      1:13a
  39.  SLOGINV.OBJ       3186    2-03-92      1:13a
  40.  MLOGINV.OBJ       3164    2-03-92      1:13a
  41.  CLOGINV.OBJ       3677    2-03-92      1:13a
  42.  LLOGINV.OBJ       3651    2-03-92      1:13a
  43.    LOGIN.TXT       4544    6-21-93      2:40p
  44.  
  45.  
  46.                    Keyed Login Object Modules
  47.                      Last Update: 02/03/92
  48.  
  49.  
  50. This document describes the functions contained in the mLOGINx.OBJ files. 
  51. These functions allow you to perform a keyed login to a NetWare 3.x file
  52. server as well as change or verify a bindery object's password.  These OBJs
  53. can be linked with languages using the Microsoft segment naming
  54. conventions.
  55.  
  56. Object Naming Convention:
  57.  
  58.     mLOGIN.OBJ
  59.      m is one of S,M,C or L for Small, Medium, Compact and Large
  60.  
  61. The VAP objects have a 'v' appended to the root name.  i.e.
  62.  
  63.     sLOGINv.OBJ - Small Model VAP object
  64.  
  65. IMPORTANT NOTES:
  66.  
  67. These functions all assume that you are attached, and the preferred
  68. connection is set to the server that you want to login to or change the
  69. password on.  You must perform these APIs before calling the functions in
  70. this object, or they will not work.
  71.  
  72. All Functions require approximately 220 bytes of stack space for local
  73. variables.  This does not include the overhead for calling DOS or the shell
  74. via Int 21h.  You must provide sufficient stack space for this. VAP users
  75. need to allow for overhead of the NetWareShellServices API.
  76.  
  77. Objects are provided for the SMALL, MEDIUM, COMPACT and LARGE memory
  78. models.  There are three functions included in each object module:
  79.  
  80. _AsmLoginToFileServer           (ObjName, ObjType, ObjPassword)
  81. _AsmVerifyBinderyObjectPassword (ObjName, ObjType, ObjPassword)
  82. _AsmChangeBinderyObjectPassword
  83.                      (ObjName, ObjType, ObjOldPass, ObjNewPass)
  84.  
  85. Where:
  86.         ObjName     - A pointer to the Object's Name
  87.         ObjType     - The Object's Type i.e. 1 for USER, ...
  88.         ObjPassword - A pointer to the Object's Password.
  89.         ObjOldPass  - A pointer to the Object's old Password.
  90.         ObjNewPass  - A pointer to the Object's new Password.
  91.  
  92. NOTE:
  93. All pointers are model dependant. i.e. 2 byte for small and medium model or
  94. 4 byte for compact and large.
  95.  
  96. Also, a global variable called __AsmDataElement has been declared. 
  97. __AsmDataElement is used to establish DS addressability BEFORE calling any
  98. of the other APIs.  This is ONLY needed if DS is NOT pointing to DGROUP. 
  99. If you will be calling the APIs without DS pointing to DGROUP, you need to
  100. establish addressability first. To do this, just "MOV AX,SEG
  101. __AsmDataElement", and "MOV DS,AX" before calling the API.  Be sure to save
  102. DS for your program!  All functions return a status code in the AX
  103. register.  See your System Calls Documentation for a description of the
  104. return codes.
  105.  
  106. Only registers SI, DI, BP, DS and ES are preserved.  All others are
  107. destroyed.
  108.  
  109. To call any of these functions, simply push the parameters onto the stack
  110. in the reverse order i.e. right to left.  Be sure to pass the correct
  111. pointer size!  Following are samples for calling a small and large model
  112. function.
  113.  
  114.       ;Small Model Example
  115.          mov     ax,offset DGROUP:Password   ; user password
  116.          push    ax
  117.          mov     ax,1                        ; type user
  118.          push    ax
  119.          mov     ax,offset DGROUP:Username   ; user name
  120.          push    ax
  121.          call    near ptr _AsmLoginToFileServer
  122.  
  123.       ;Large Model Example
  124.           push    ds
  125.           mov     ax,offset DGROUP:Password   ; user password
  126.           push    ax
  127.           mov     ax,1                        ; type user
  128.           push    ax
  129.           push    ds
  130.           mov     ax,offset DGROUP:Username   ; user name
  131.           push    ax
  132.           call    far ptr _AsmLoginToFileServer
  133.  
  134.  
  135. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  136.                         Special Info for VAP users
  137. =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
  138.  
  139. This section applies only to users of the VAP routines.
  140.  
  141. You must provide a routine in your prelude module called:
  142.  
  143.     '_CallNetWareShellServices'
  144.  
  145. which will perform a call to the NetWareShellServices entry point as
  146. specified in the VAPs Header.  Following is a sample of what it must look
  147. like:
  148.  
  149. _CallNetWareShellServices  proc             ; for login.obj
  150.         public  _CallNetWareShellServices
  151.         push    ds             ; save ds
  152.         xchg    si,bx          ; on entry si:bx pointer to
  153.         mov     ds,bx          ;  request, make ds:si instead
  154.         call    dword ptr cs:[NetWareShellServices]; call OS
  155.         pop     ds             ; restore ds
  156.         cbw                    ; return code in AX
  157.         ret
  158. _CallNetWareShellServices  endp  ; for login.obj
  159.  
  160.